package com.lighthouse.doc.operate.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户-文档操作关联对象 lh_rel_doc_operate
 * 
 * @author ysz
 * @date 2023-04-26
 */
//@Builder
@AllArgsConstructor
@NoArgsConstructor
public class KnowledgeDocOperateDTO extends KnowledgeDocOperate
{
    private static final long serialVersionUID = 1L;

    /** 本次操作类型 */
    private String operateType;

    public String getOperateType() {
        return operateType;
    }

    public void setOperateType(String operateType) {
        this.operateType = operateType;
    }

    @Builder(builderMethodName = "docOperateDTO")
    public KnowledgeDocOperateDTO(String docId, Long userId, String isLike, String isCollect, String isDownload, Date operateTime, String operateType) {
        super(docId, userId, isLike, isCollect, isDownload, operateTime);
        this.operateType = operateType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("docId", getDocId())
            .append("userId", getUserId())
            .append("isLike", getIsLike())
            .append("isCollect", getIsCollect())
            .append("isDownload", getIsDownload())
            .append("operateTime", getOperateTime())
            .toString();
    }
}
